iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
AI Engineering

30 天打造 Edge AI Product:一個 PM 從 0 到 1 的 AI Engineering 實戰系列 第 6

AI Model 放上 Edge Device,真的跑得起來嗎?

  • 分享至 

  • xImage
  •  

前五天,我們一直在做一件事情:

把一個模糊的 AI 想法,慢慢變成一個可以開發的 Product。

我們有了:

  • Customer Problem
  • Use Case
  • Product Direction
  • AI PRD
  • Model Requirement
  • Qualcomm QCS6490

接下來終於到了最現實的一關:

「好,現在真的把 AI 跑起來。」

這時候我才發現:

AI Model 能跑,跟 AI Product 能跑,是兩回事。


第一個嘗試:先不要碰 NPU

一開始我們先用比較直覺的方法。

把 Pre-trained Model 放到 Edge Device 上,

直接用 CPU 做 inference。

結果很快就出來了。

大約 2.7 FPS。

換句話說:

一秒鐘大概只能處理 2~3 張影像。

如果只是證明:

「Model 可以跑。」

當然可以。

但如果我們的 Use Case 是:

即時監控無人場域,有人進入就要發現。

2.7 FPS 顯然不是一個很好的效能。

這時候 PM 就不能只說:

「效能不夠。」

而要開始問:

到底是哪裡慢?


我們開始拆 Pipeline

我們把整個流程拆開:

Camera -> Decode -> Resize / Convert -> AI Pre-processing -> Model Inference -> Post-processing -> Event

這時候才發現:

真正吃掉大量運算資源的,是 AI Inference

而 QCS6490 最大的價值,恰好就是它有:

AI Accelerator

所以我們開始把方向從:

CPU Inference

轉成:

NPU Inference


但「改用 NPU」沒有想像中簡單

這裡其實是我第一次很深刻感受到:

AI PM 不需要自己寫完所有 AI Code,但一定要知道工程師正在解什麼問題。

因為 Model 不是:

丟進 QCS6490 → 自動跑 NPU。

中間還有很多事情:

Model Conversion -> Operator Compatibility -> Input / Output Mapping -> Pre-processing -> QNN Runtime -> NPU -> Post-processing

而且任何一個地方不對,都可能造成:

  • Model 跑不起來
  • Runtime Error
  • Accuracy 異常
  • CPU fallback
  • Performance 不如預期

我們真正要驗證的是什麼?

所以我把這次技術驗證重新定義了一次。

不是:

「QCS6490 可以跑 YOLO 嗎?」

而是:

「QCS6490 能不能在我們的完整 Edge AI Pipeline 裡,提供足夠的即時推論能力?」

這兩個問題完全不同。

因為 Product 最終需要的是:

End-to-End Performance

而不是單純:

Model Inference Performance。


從 CPU 到 NPU

經過 Model Integration、Runtime 和 Pipeline 調整之後,

我們終於把 inference 從 CPU 拉到 Qualcomm HTP / NPU。

結果非常明顯:

CPU:

2.7 FPS

QCS6490 NPU:

31 FPS

這不是單純數字變漂亮而已。

它代表我們原本只能證明:

「AI Model 可以在 Edge Device 上執行。」

現在開始可以證明:

「Edge Device 有能力支撐接近即時的 AI Application。」

這對 Product 是完全不同的意義。


但這時候,我沒有馬上說:「成功!」

因為我開始問下一個問題:

31 FPS 是單一路 Stream,還是真的可以支撐產品需求?

例如:

如果客戶有:

1 Camera

31 FPS 看起來很好。

那:

2 Cameras?

3 Cameras?

甚至更多?

又會怎麼樣?

所以我們開始看:

  • NPU Utilization
  • CPU Utilization
  • Memory
  • Video Decode
  • Number of Streams
  • End-to-End Latency

這時候我才真正理解:

Benchmark 是起點,不是終點。


AI PM 不能只追一個 FPS 數字

如果只看 Model Benchmark:

31 FPS

很好看。

但產品真正要看的可能是:

Camera Input -> Decode -> Pre-processing -> Inference -> Post-processing -> Rule -> Event ->Alert

如果整條 Pipeline 最後只有:

10 FPS

那產品就不能說自己有:

31 FPS AI Performance。

所以我開始把 KPI 分成兩層:

Model KPI

  • Inference Latency
  • Inference FPS
  • NPU Utilization

Product KPI

  • End-to-End Latency
  • Stable Stream Count
  • Frame Drop
  • Event Response Time
  • Long-running Stability

這也是為什麼 AI Product 的 Performance KPI,

不能只看 Model。


這次最大的收穫

這次從 CPU 到 NPU 的過程,讓我重新理解:

Edge AI Product 的瓶頸,往往不是單一 Model。

它是一整條 Pipeline。

Model

只是其中一環。

真正的 Product Performance 是:

Model + Runtime + Hardware + Video Pipeline + Application

全部一起決定。


這也是 PM 可以真正創造價值的地方

我不需要自己成為 Qualcomm Runtime Engineer。

但我需要知道:

為什麼我們現在只有 2.7 FPS?

NPU 可以解決什麼?

哪一段還是 CPU Bottleneck?

31 FPS 是 Model Benchmark 還是 End-to-End?

多路 Camera 還能不能成立?

當 PM 可以問出這些問題時,

Engineer 就不需要花大量時間解釋「為什麼這個數字重要」。

我們可以直接一起討論:

「這個技術結果,距離 Product Requirement 還差多少?」



上一篇
AI PRD 到底要寫什麼?
下一篇
為什麼 NPU 很快,程式還是只有 2.7 FPS?
系列文
30 天打造 Edge AI Product:一個 PM 從 0 到 1 的 AI Engineering 實戰10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言